package com.hzlx.reports.service;

import java.util.List;
import com.hzlx.reports.domain.NonConformingReports;

/**
 * 不合格品报告（NCR）管理（记录从发现到关闭的全过程）Service接口
 * 
 * @author ruoyi
 * @date 2025-07-01
 */
public interface INonConformingReportsService 
{
    /**
     * 查询不合格品报告（NCR）管理（记录从发现到关闭的全过程）
     * 
     * @param ncrId 不合格品报告（NCR）管理（记录从发现到关闭的全过程）主键
     * @return 不合格品报告（NCR）管理（记录从发现到关闭的全过程）
     */
    public NonConformingReports selectNonConformingReportsByNcrId(String ncrId);

    /**
     * 查询不合格品报告（NCR）管理（记录从发现到关闭的全过程）列表
     * 
     * @param nonConformingReports 不合格品报告（NCR）管理（记录从发现到关闭的全过程）
     * @return 不合格品报告（NCR）管理（记录从发现到关闭的全过程）集合
     */
    public List<NonConformingReports> selectNonConformingReportsList(NonConformingReports nonConformingReports);

    /**
     * 新增不合格品报告（NCR）管理（记录从发现到关闭的全过程）
     * 
     * @param nonConformingReports 不合格品报告（NCR）管理（记录从发现到关闭的全过程）
     * @return 结果
     */
    public int insertNonConformingReports(NonConformingReports nonConformingReports);

    /**
     * 修改不合格品报告（NCR）管理（记录从发现到关闭的全过程）
     * 
     * @param nonConformingReports 不合格品报告（NCR）管理（记录从发现到关闭的全过程）
     * @return 结果
     */
    public int updateNonConformingReports(NonConformingReports nonConformingReports);

    /**
     * 批量删除不合格品报告（NCR）管理（记录从发现到关闭的全过程）
     * 
     * @param ncrIds 需要删除的不合格品报告（NCR）管理（记录从发现到关闭的全过程）主键集合
     * @return 结果
     */
    public int deleteNonConformingReportsByNcrIds(String[] ncrIds);

    /**
     * 删除不合格品报告（NCR）管理（记录从发现到关闭的全过程）信息
     * 
     * @param ncrId 不合格品报告（NCR）管理（记录从发现到关闭的全过程）主键
     * @return 结果
     */
    public int deleteNonConformingReportsByNcrId(String ncrId);
}
